package net.itfenxiang.mybatisplus.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 用户提现记录
 * </p>
 *
 * @author author
 * @since 2024-04-29
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("kxx_withdraw_record")
public class WithdrawRecord implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 用户ID(kxx_user.id)
     */
    private Long userId;

    /**
     * 提现账户ID(kxx_withdraw_account.id)
     */
    private Long withdrawAccountId;

    /**
     * 提现金额，单位毫，1豪等于100分
     */
    private Integer amount;

    /**
     * 审核状态, 1:待审核,2:通过,3:未通过
     */
    private Integer auditStatus;

    /**
     * 审核未通过原因
     */
    private String auditReason;

    /**
     * 审核时间
     */
    private LocalDateTime auditTime;

    /**
     * 审核管理员(sys_user.id)
     */
    private Long auditAdmin;

    /**
     * 转账方式，空:无效，1:手动转账，2:接口
     */
    private Integer transferWay;

    /**
     * 转账状态，0:无效，1:待转账，2:转账成功，3:转账失败
     */
    private Integer transferStatus;

    /**
     * 转账备注，手动转账时填写
     */
    private String transferRemark;

    /**
     * 转账时间
     */
    private LocalDateTime transferTime;

    /**
     * 转账管理员(sys_user.id)，手动转账时有效
     */
    private Long transferAdmin;

    /**
     * 版本号
     */
    private Integer version;

    /**
     * 删除标识  0：正常   1：已删除
     */
    private Integer deleted;

    /**
     * 创建者
     */
    private Long creator;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新者
     */
    private Long updater;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    /**
     * 手续费，单位毫，1豪等于100分
     */
    private Integer commission;

    /**
     * 实际到账金额(给用户转账金额，amount - commission)，单位毫，1豪等于100分
     */
    private Integer actualAmount;

    /**
     * 系统订单号
     */
    private String orderNo;

    /**
     * 结算前余额
     */
    private Integer beforeAmount;

    /**
     * 结算后余额=结算前余额-结算金额-手续费
     */
    private Integer afterAmount;


}
